This invention relates generally to improving software testing, and particularly to runtime selection of code for which to perform static testing.
Software applications written by developers can include various bugs, errors, and other aspects that may be detected via software testing. Testing of software applications can be performed using different methods, primarily “static” testing, referring to tests performed on source or executable code, and dynamic testing, referring to tests performed on the application as the application executes.
In complex application deployments, an application may be deployed by a deployment system, and different portions of an application distributed to different types of systems and servers to perform various dedicated functions for the application. For example, separate systems may provide the frontend and backend to an application.
In performing static analysis of these systems, the code for the application and the different systems may be tested prior to deployment to the various systems. The application may also dynamically generate code or scripts for execution that are not tested. In prior systems, static testing of an application typically required access to a source repository or used application code as it was deployed, without regard to the code that is active during use of the application.